package com.ok.common.mqtt

import org.eclipse.paho.client.mqttv3.MqttConnectOptions
import java.util.UUID
import javax.net.ssl.SSLSocketFactory

data class MqttConfig(
    val serverUrl: String,
    var userName: String,
    val password: String,
    val clientId: String = UUID.randomUUID().toString().replace("-", ""),
    val topics: MutableList<MqttTopic>? = null,
    val isCleanSession: Boolean = false,
    val retained: Boolean = false,
    val isAutomaticReconnect: Boolean = true,
    val connectionTimeout: Int = 15,
    val keepAliveInterval: Int = 20,
    val maxInflight: Int = 100,
    val mqttVersion: Int = MqttConnectOptions.MQTT_VERSION_3_1_1,
    val mSSLSocketFactory: SSLSocketFactory? = null
)